常见的web安全技术
本文主要从服务器端安全技术和客户端安全技术两个方面来分析了常见的web安全技术主要有:
服务器端安全技术
- 网页防篡改
服务器端安全最基本的是接入网入口的UTM网关,其中IPS功能与防DDOS功能是Web服务器系统级入侵的直接防护,但UTM是通用的边界安全网关,非“专业的”Web入侵防护,一般作为安全的入门级防护。防护末知攻击是难的,但看好我自己的“家底”是相对容易的。因此,人们最先想到的就是网页防篡改技术。网页防篡改对保护静态页面有很好的效果。
网页防篡改系统可以用于Web服务器,也可以用于中间件服务器,其目的都是保障网页文件的完整性。
- web防火墙
防止网页被篡改是被动的,能阻断入侵行为才是主动型的, Web防火墙,主要是对Web特有入侵方式的加强防护,如DDOS防护、SQL注入、XML注入、XSS等。由于是应用层而非网络层的入侵,从技术角度都应该称为Web IPS,而不是Web防火墙。这里之所以叫做Web防火墙,是因为大家比较好理解,业界流行的称呼而已。由于重点是防SQL注入,也有人称为SQL防火墙。
- Web数据库审计
有效恢复是安全保障的一个很重要的理念。动态网页的防护难点是用数据库现场生成的,因此对数据库的修改就变得很关键,Web数据库审计产品的目的就是对数据的所有操作进行记录,当发现问题时,这些操作可以回溯。
- Web木马检查
Web安全不仅是维护网站自己安全,通过网站入侵用户电脑的危害也十分棘手。网页容易被挂上木马或被XSS攻击利用,是否有工具可以对所有的网页进行安全检查呢?这里用到了“爬虫”技术。
客户端安全技术
- 浏览器端的安全
同源策略( Same Origin Policy)是一种约定,浏览器最核心也是最基础的安全功能。可以说web是构建在同源策略的基础之上的,浏览器只是针对同源策略的一种实现。
浏览器的同源策略限制了来自不同源的document或本,对当前document读取或设置某些属性。
- 跨站脚本攻击( XSS )的防御
XSS的本质是一种”HTML注入”。用户数据被当作HTML代码的一部分来执行。
设置Cookie的HttpOnly属性, 这个属性使浏览器禁止页面的JavaScript访问Cookie。
输入检查 ,输入检查的逻辑必须放在服务器端完成,主要检查用户输入的数据中是否包含特殊的字符,要根据具体语境进行处理。
输出检查,要对输出进行恰当的编码。
- 跨站点请求伪造( CSFR )的防御
1.使用验证码
2.使用Token (令牌)
- 点击劫持( ClickJacking )的防御
点击劫持 ( ClickJacking )因为需要诱使用户与页面产生交互行为,因此实施攻击的成本更高,在网络犯罪中比较少见。但 ClickJacking 在未来仍然有可能被攻击者利用在钓鱼、欺诈和广告作弊等方面不可不察。
一般的做法都是通过禁止跨域的iframe来防范。
iframe本身就是不符合标准的,目前只有IE6、IE5支持